





filenames<-list.files(pattern="Terugroep_actie_[[:digit:]]+" )

#Get English name of download dates, order files by date
filedate<-str_match(filenames, "Terugroep_actie_(.*?).RData" )[,2]
filedate<-gsub("[Jj]anuari", "january",filedate )
filedate<-gsub("[Ff]ebruari", "february",filedate )
filedate<-gsub("[Mm]aart", "march",filedate )
filedate<-gsub("[Mm]ei", "may",filedate )
filedate<-gsub("[Jj]uni", "june",filedate )
filedate<-gsub("[Jj]uli", "july",filedate )
filedate<-gsub("[Aa]ugustus", "august",filedate )
filedate<-gsub("[Oo]ktober", "october",filedate )
Files<-cbind.data.frame(filenames,as.Date(dmy(filedate)),stringsAsFactors=FALSE)
colnames(Files)<-c("path", "date")
Files<- Files[order(Files$date),]
Files$order<-order(Files$date)
rm(filedate, filenames)

#Get Main file (the LATEST we have), change name, add date
d<-as.numeric(nrow(Files))
load(Files$path[d])

#Drop dots from variable names
names(x)<-gsub("\\.", "",names(x))
#All lower case
names(x)<-tolower(names(x))
#Transform factor in character
i <- sapply(x, is.factor)
x[i] <- lapply(x[i], as.character)
rm(i)
#Change name
assign("Recall",x)
rm(x)
gc()



for(j in (d-1):2) {

#Load file to add
load(Files$path[j])


#Drop dots from variable names
names(x)<-gsub("\\.", "",names(x))
#All lower case
names(x)<-tolower(names(x))
#Transform factor in character
i <- sapply(x, is.factor)
x[i] <- lapply(x[i], as.character)
rm(i)

dupl<-x$referentiecoderdw[x$referentiecoderdw %in% Recall$referentiecoderdw]

x<-subset(x, !c(referentiecoderdw %in% dupl) )


Recall<-rbind(Recall, x)



print(paste("ITERATION ", j, ", ",Files$date[j], "Added", nrow(x),  sep=""))
rm(dupl, x)

}


Recall$rec_part<-NULL
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen - carrosserie (beschermingsmiddelen inzittenden)"]<-"Protection"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen - carrosserie (zitplaatsen)"]<-"Seats"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen - krachtoverbrenging"]<-"Transmission"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen - motor inclusief brandstof-, smeer- en koelsysteem"]<-"Engine"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - algemene bouwwijze"]<-"General construction"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - assen, wielen, velgen, banden"]<-"Axles wheels"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - carrosserie (deuren, motorkap, laadkleppen)"]<-"Doors"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - carrosserie (diverse)"]<-"Bodywork"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - carrosserie (ruiten, ruitenwissers, ruitensproeiers)"]<-"Windows"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - diversen"]<-"Various"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - elektrische installatie"]<-"Electric"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - lichten, lichtsignalen en retroreflectie"]<-"Lights"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - ophanging"]<-"Suspensions"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - diversen"]<-"Various"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - reminrichting"]<-"Braking"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - stuurinrichting"]<-"Steering"
Recall$rec_part[Recall$categoriedefect=="Motorrijtuigen en aanhangwagens - verbinding tussen motorvoertuig en aanhangwagen"]<-"Trailer connection"
Recall$rec_part[Recall$categoriedefect=="Onderdelen van motorrijtuigen en aanhangwagens"]<-"Motor part"
Recall$rec_part[Recall$categoriedefect=="Product voldoet niet aan de typegoedkeuringseisen"]<-"Approval invalid"
Recall$rec_part[Recall$categoriedefect=="Beschermingsmiddelen - kinderzitjes"]<-"Child seat"





Recall$publicatiedatumrdw<-as.Date(as.character(Recall$publicatiedatumrdw), origin="1970-01-01", format="%Y%m%d")
Recall$datumaankondigingproducent<-as.Date(as.character(Recall$datumaankondigingproducent), origin="1970-01-01", format="%Y%m%d")    
Recall$datuminformereneigenaar<-as.Date(as.character(Recall$datuminformereneigenaar), origin="1970-01-01", format="%Y%m%d")    
Recall$datumeigenarengeu00efnformeerd<-as.Date(as.character(Recall$datumeigenarengeu00efnformeerd), origin="1970-01-01", format="%Y%m%d")    

Recall_info<-subset(Recall, select=c(referentiecoderdw, rec_part, totaalaantalvoertuigenterugroepactie, nationaalopgegevenaantalvoertuigenterugroepactie, risicobeoordelingrdw, publicatiedatumrdw,
                                     datumaankondigingproducent, datuminformereneigenaar, datumeigenarengeu00efnformeerd) )



save(Recall_info, file="Recall_info_2019.RData")
